#pragma once
#include <pthread.h>

//互斥量封装

// class __mutex
// {
// public:
//     __mutex(pthread_mutex_t * mutex):_mutex(mutex)
//     {}

//     void lock()
//     {
//         pthread_mutex_lock(_mutex);
//     }

//     void unlock()
//     {
//         pthread_mutex_unlock(_mutex);
//     }

//     ~__mutex()
//     {}
// private:
//     pthread_mutex_t *_mutex;
// };

// class mutex
// {
// public:
//     mutex(pthread_mutex_t * mutex):_mutex(mutex)
//     {
//         _mutex.lock();
//     }
//     ~mutex()
//     {
//         _mutex.unlock();
//     }
// private:
//     __mutex _mutex;
// };


class lock
{
public:
    lock(pthread_mutex_t * mutex):_mutex(mutex)
    {
        pthread_mutex_lock(_mutex);
    }
    ~lock()
    {
        pthread_mutex_unlock(_mutex);
    }
private:
    pthread_mutex_t *_mutex;
};